// This example demonstrates how to set the application name for the client certificate. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . using System; using OpcLabs.BaseLib.Instrumentation; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Application; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._UAApplicationManifest { class ApplicationName { public static void Main1() { UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) // or "https://opcua.demo-this.com:51212/UA/SampleServer/" // Hook static events EasyUAClient.LogEntry += EasyUAClientOnLogEntry; try { // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - CSharp example application"; // Do something - invoke an OPC read, to trigger some loggable entries. var client = new EasyUAClient(); try { client.ReadValue(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853"); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); } // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. Console.WriteLine("Processing log entry events for 10 seconds..."); System.Threading.Thread.Sleep(10 * 1000); Console.WriteLine("Finished."); } finally { // Unhook static events EasyUAClient.LogEntry -= EasyUAClientOnLogEntry; } } // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. private static void EasyUAClientOnLogEntry(object sender, LogEntryEventArgs logEntryEventArgs) { if (logEntryEventArgs.EventId == 161) Console.WriteLine(logEntryEventArgs); } } }
# This example demonstrates how to set the application name for the client certificate. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc import time # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.Application import * from OpcLabs.EasyOpc.UA.OperationModel import * # Event handler for the LogEntry event. # Print the loggable entry containing client certificate parameters. def onLogEntry(sender, logEntryEventArgs): if logEntryEventArgs.EventId == 161: print(logEntryEventArgs) endpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:51210/UA/SampleServer') # or 'http://opcua.demo-this.com:51211/UA/SampleServer' (currently not supported) # or 'https://opcua.demo-this.com:51212/UA/SampleServer/' # Hook static events. EasyUAClient.LogEntry += onLogEntry try: # Set the application name, which determines the subject of the client certificate. # Note that this only works once in each host process. EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.ApplicationName = \ 'QuickOPC - Python (.NET) example application' # Do something - invoke an OPC read, to trigger some loggable entries. client = EasyUAClient() try: value = IEasyUAClientExtension.ReadValue(client, endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853')) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) # The certificate will be located or created in a directory similar to: # C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs # and its subject will be as given by the application name. print('Processing log entry events for 10 seconds...') time.sleep(10) print('Finished.') finally: # Unhook static events. EasyUAClient.LogEntry -= onLogEntry
' This example demonstrates how to set the application name for the client certificate. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Imports OpcLabs.BaseLib.Instrumentation Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Application Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _UAApplicationManifest Friend Class ApplicationName Public Shared Sub Main1() Dim endpointDescriptor As UAEndpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) ' or "https://opcua.demo-this.com:51212/UA/SampleServer/" ' Hook static events AddHandler EasyUAClient.LogEntry, AddressOf EasyUAClientOnLogEntry Try ' Set the application name, which determines the subject of the client certificate. ' Note that this only works once in each host process. EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - VBNet example application" ' Do something - invoke an OPC read, to trigger some loggable entries. Dim client = New EasyUAClient() Try client.ReadValue(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853") Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' The certificate will be located or created in a directory similar to: ' C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs ' and its subject will be as given by the application name. Console.WriteLine("Processing log entry events for 10 seconds...") Threading.Thread.Sleep(10 * 1000) Console.WriteLine("Finished.") Finally ' Unhook static events RemoveHandler EasyUAClient.LogEntry, AddressOf EasyUAClientOnLogEntry End Try End Sub ' Event handler for the LogEntry event. ' Print the loggable entry containing client certificate parameters. Private Shared Sub EasyUAClientOnLogEntry(ByVal sender As Object, ByVal logEntryEventArgs As LogEntryEventArgs) If (logEntryEventArgs.EventId = 161) Then Console.WriteLine(logEntryEventArgs) End If End Sub End Class End Namespace
// This example demonstrates how to set the application name for the client certificate. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . type TClientManagementEventHandlers103 = class procedure OnLogEntry( ASender: TObject; sender: OleVariant; const eventArgs: _LogEntryEventArgs); end; // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. procedure TClientManagementEventHandlers103.OnLogEntry( ASender: TObject; sender: OleVariant; const eventArgs: _LogEntryEventArgs); begin if eventArgs.EventId = 161 then WriteLn(eventArgs.ToString); end; class procedure ApplicationName.Main; var Application: TEasyUAApplication; Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; ClientManagement: TEasyUAClientManagement; ClientManagementEventHandlers: TClientManagementEventHandlers103; Value: OleVariant; begin // The configuration object allows access to static behavior - here, the // shared LogEntry event. ClientManagement := TEasyUAClientManagement.Create(nil); ClientManagementEventHandlers := TClientManagementEventHandlers103.Create; ClientManagement.OnLogEntry := ClientManagementEventHandlers.OnLogEntry; ClientManagement.Connect; // Obtain the application interface. Application := TEasyUAApplication.Create(nil); try // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. Application.ApplicationParameters.ApplicationManifest.ApplicationName := 'QuickOPC - Delphi example application'; // Do something - invoke an OPC read, to trigger some loggable entries. Client := CoEasyUAClient.Create; try Value := Client.ReadValue( //'http://opcua.demo-this.com:51211/UA/SampleServer', //'https://opcua.demo-this.com:51212/UA/SampleServer/', 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer', 'nsu=http://test.org/UA/Data/ ;i=10853'); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); end; end; // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. WriteLn('Processing log entry events for 10 seconds...'); PumpSleep(10*1000); WriteLn('Finished...'); finally FreeAndNil(Application); FreeAndNil(ClientManagement); FreeAndNil(ClientManagementEventHandlers); end; end;
// This example demonstrates how to set the application name for the client certificate. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . class ClientManagementEvents { // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. function LogEntry($Sender, $E) { if ($E->EventId == 161) printf("%s\n", $E); } } // The management object allows access to static behavior - here, the // shared LogEntry event. $ClientManagement = new COM("OpcLabs.EasyOpc.UA.EasyUAClientManagement"); $ClientManagementEvents = new ClientManagementEvents(); com_event_sink($ClientManagement, $ClientManagementEvents, "DEasyUAClientManagementEvents"); // Obtain the application interface. $Application = new COM("OpcLabs.EasyOpc.UA.Application.EasyUAApplication"); // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. $Application->ApplicationParameters->ApplicationManifest->ApplicationName = "QuickOPC - PHP example application"; // Do something - invoke an OPC read, to trigger some loggable entries. $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); try { $value = $Client->ReadValue( //"http://opcua.demo-this.com:51211/UA/SampleServer", "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", "nsu=http://test.org/UA/Data/ ;i=10853"); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); } // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. printf("Processing log entry events for 10 seconds..."); $startTime = time(); do { com_message_pump(1000); } while (time() < $startTime + 10); printf("Finished.\n");
REM This example demonstrates how to set the application name for the client certificate. REM REM Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Private Sub ApplicationName_Main_Command_Click() OutputText = "" ' Obtain the application interface Dim Application As New EasyUAApplication ' Set the application name, which determines the subject of the client certificate. ' Note that this only works once in each host process. Application.ApplicationParameters.ApplicationManifest.applicationName = "QuickOPC - VB6 example application" ' Do something - invoke an OPC read, to trigger some loggable entries. Dim client As New EasyUAClient On Error Resume Next Dim value As Variant value = client.ReadValue("opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", "nsu=http://test.org/UA/Data/ ;i=10853") If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 ' The certificate will be located or created in a directory similar to: ' C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs ' and its subject will be as given by the application name. OutputText = OutputText & "Processing log entry events for 10 seconds..." & vbCrLf Pause 10000 Set Application = Nothing OutputText = OutputText & "Finished..." & vbCrLf End Sub ' Event handler for the LogEntry event. It simply prints out the event. Private Sub ClientManagement1_LogEntry(ByVal sender As Variant, ByVal eventArgs As OpcLabs_BaseLib.LogEntryEventArgs) If eventArgs.eventId = 161 Then OutputText = OutputText & eventArgs & vbCrLf End If End Sub
Rem This example demonstrates how to set the application name for the client certificate. Rem Rem Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Option Explicit ' The management object allows access to static behavior. WScript.Echo "Obtaining the client management object..." Dim ClientManagement: Set ClientManagement = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClientManagement") WScript.ConnectObject ClientManagement, "ClientManagement_" WScript.Echo "Obtaining the application interface..." Dim Application: Set Application = CreateObject("OpcLabs.EasyOpc.UA.Application.EasyUAApplication") ' Set the application name, which determines the subject of the client certificate. ' Note that this only works once in each host process. WScript.Echo "Setting the application name..." Application.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - VBScript example application" WScript.Echo "Creating a client object..." Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") ' Do something - invoke an OPC read, to trigger some loggable entries. WScript.Echo "Reading a value..." On Error Resume Next Dim value: value = Client.ReadValue("opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", "nsu=http://test.org/UA/Data/ ;i=10853") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' The certificate will be located or created in a directory similar to: ' C:\Users\All Users\OPC Foundation\CertificateStores\UA Applications\certs\ ' and its subject will be as given by the application name. WScript.Echo "Processing log entry events for 10 seconds..." WScript.Sleep 10*1000 WScript.Echo "Finished." ' Event handler for the LogEntry event. ' Print the loggable entry containing client certificate parameters. Sub ClientManagement_LogEntry(Sender, e) If e.EventId = 161 Then WScript.Echo e End Sub
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved.
Send Documentation Feedback. Technical Support